package cn.tedu.bonfire.front.content.dao.persist.repository;

import cn.tedu.bonfire.common.consts.data.ContentConsts;

import cn.tedu.bonfire.common.pojo.vo.PageData;
import cn.tedu.bonfire.front.content.pojo.entity.Comment;
import cn.tedu.bonfire.front.content.pojo.vo.CommentListItemVO;
import cn.tedu.bonfire.front.content.pojo.vo.CommentStandardVO;

import java.util.Collection;


public interface ICommentRepository extends ContentConsts {

    /**
     * 插入评论数据
     *
     * @param comment 评论数据
     * @return 受影响的行数
     */
    int insert(Comment comment);

    /**
     * 根据id删除评论数据
     *
     * @param id 评论ID
     * @return 受影响的行数
     */
    int deleteById(Long id);

    /**
     * 根据id修改评论数据
     *
     * @param comment 封装了评论ID和新数据的对象
     * @return 受影响的行数
     */
    int updateById(Comment comment);

    /**
     * 根据文章查询评论列表
     *
     * @param articleId 文章ID
     * @param pageNum   页码
     * @param pageSize  每页记录数
     * @return 评论列表
     */
    PageData<CommentListItemVO> listByArticle(Long articleId, Integer pageNum, Integer pageSize);
    /**
     * @author yukun
     *根据评论id得到评论内容
     */
    String getCommentContentById(Long commentId);

    Long userCommentById(Long userId);
}